System and user interfaces for rapid analysis of viewership information

ABSTRACT

Systems and methods are disclosed for systems and user interfaces for rapid analysis of viewership information. One of the methods includes accessing databases storing viewership information associated with segments, with each segment being associated with common features of viewers. Measures of association between the segment and content items are maintained for each segment. An interactive user interface is presented via a user device, the interactive user interface enabling creation of a customized viewing audience. The interactive user interface receives user input indicating a segment, identifies similar segments based on associations between features of the segment and of other segments, and presents the identified segments. Analysis information associated with the segments is presented for at least one of the one or more segments, with the segments being included in the customized viewing audience.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No.16/931,976 filed on Jul. 17, 2020 and titled “SYSTEM AND USER INTERFACESFOR RAPID ANALYSIS OF VIEWERSHIP INFORMATION,” which claims priority toU.S. Prov. App. No. 62/875,902 filed on Jul. 18, 2019 and titled “SYSTEMAND USER INTERFACES FOR RAPID ANALYSIS OF VIEWERSHIP INFORMATION,” thedisclosures of which are hereby incorporated herein by reference intheir entirety.

This application further incorporates by reference herein the entiretyof U.S. patent application Ser. No. 16/428,46, which is titled “SYSTEMSAND METHODS FOR DETERMINING AND DISPLAYING OPTIMAL ASSOCIATIONS OF DATAITEMS” and which was filed on May 31, 2019.

TECHNICAL FIELD

The present disclosure relates to systems and techniques for accessingone or more databases and aggregating, analyzing, and displaying data ininteractive user interfaces. More specifically, the present disclosurerelates to systems and techniques for enhanced interactions with userinterfaces and information discoverability.

BACKGROUND

Content providers may have access to rich datasets describing viewershipinformation of their content items. Example content items may includeweb content, such as podcasts, webcasts, streaming content, andtelevision content, and so on. These datasets may aggregate viewingbehavior associated with disparate segments of an overall viewershippopulation. For example, viewing behavior may represent ratinginformation (e.g., viewer audience measurements, such as audience sizeand composition). In this example, different segments of the viewershippopulation may be represented in the rating information. Each segmentmay include viewers which match particular features. As an example, asegment may include viewers who (1) have an interest in field hockey,(2) own a toothbrush, and (3) have recently traveled out of the country.

A content provider may use these datasets to track viewershipinformation across different segments. Thus, the content provider mayascertain that a first segment views, or listens to, a particularcontent item more than a second segment. It may be appreciated that thecontent provider may additionally have a continual need to identifyspecific content (e.g., advertisements) to include in a content item.While these datasets may identify viewership information for disparatesegments, it may present tremendous technological challenges to select aparticular advertisement for inclusion in a content item.

The datasets described above may not allow for ease of analysis. Forexample, there may be tens of thousands of segments, or more, each withunique combinations of features and names for the features. Thus, acontent provider may have difficulty identifying segments with whichparticular features are associated due to obfuscation of the features inthe datasets. The level of analysis and data visualization required toidentify optimal associations is thus beyond the capabilities of unaidedhumans and prior art systems.

SUMMARY

The systems, methods, and devices described herein each have severalaspects, no single one of which is solely responsible for its desirableattributes. Without limiting the scope of this disclosure, severalnon-limiting features will now be discussed briefly.

This specification describes systems and methods which providetechnological advantages and address prior technological shortcomings.As described herein, a system may aggregate information spread acrosslarge datasets. The system may then present succinct user interfaceswhich enable users to interrogate the datasets through simple userinput. In the examples described herein, viewership information may beincluded in datasets. For example, viewing habits of viewers may beembedded within the datasets. As will be described, the system mayanalyze these datasets such that users may rapidly surface informationderived from, or spread around, the datasets.

As a first example, the system may present, or enable, user interfacesto determine viewership information for a specified audience. Thedatasets may, as an example, indicate viewing information of specificsegments of viewers. Example viewing information may include ratinginformation for specific content items (e.g., web content, televisionshows, podcasts, and so on). Viewing information may further indicatetime information associated with content items. For example, timeinformation may include an average amount of time viewers in aparticular segment watch certain content items. As described below, eachsegment may indicate a unique combination of features of viewers. Forexample, a segment may include users who own fishing equipment and havean interest in sports. As another example, a segment may include userswho use smartphones of a specific type and who watch streaming contentvia smartphones.

While the above-described datasets may specify viewing information oflarge numbers of segments, a content provider may prefer aggregating, orfurther refining, the segments to define a particular audience. Forexample, certain content (e.g., advertisements) may be included in acontent item and may be selected to comport with the preferences of aparticular audience. Thus, the content provider may prefer to define apotential audience which combines different segments. In this way, thecontent provider may inform a selection of content for inclusion in acontent item.

In this first example, the user interfaces may respond to user inputspecifying features of an audience of interest to a user of the userinterfaces. For example, the user may specify a feature of owningfishing equipment. In this example, the user may prefer finding theviewing habits of an audience associated with this feature. As anexample, the user may prefer identifying content items in which toinclude fishing advertisements, fishing-based product placements, and soon. Advantageously, the user interfaces described herein may rapidlysurface any segment which is associated with this feature. For example,segments may include viewers who own fishing equipment, viewers who haverecently searched a search engine for fishing equipment or the sport offishing, and so on. In this example, the system may perform analyseswith respect to the datasets to surface these previously obfuscatedsegments.

Furthermore, the system may use innovative techniques to identifysegments which may be related to the surfaced segments. For example, asegment which includes viewers who own a boat may be determined to berelated to the above-described surfaced segments. As another example, asegment which includes viewers who are known to live near, or haveactually visited, a river may be determined to be related to thesurfaced segments. These related segments may thus expand upon theuser's audience.

Given the quantity of segments (e.g., tens or hundreds of thousands), itis impractical for a user to review these segments to determine relatedsegments. Thus, a user may be required to leverage key-word searching.However, key-word searching will merely identify segments which includefeatures precisely matching the specified keywords. Since similar, orsame, features may have different names, may be misspelled, and so on,the user is unlikely to identify all responsive segments. Additionally,the user will be unable to identify segments determined to be related tothe keywords. Thus, advantageously the system may use differenttechniques to determine segments which are similar, or likely to besimilar, to other segments. In this way, the system may improve uponprior techniques which are technically cumbersome and add tremendousstrain on end-users.

The user may then select from among the surfaced segments, and anyrelated segments of interest, to define an audience. The system may thenaggregate viewership information for the selected segments included inthe audience. Advantageously, the user may specify Boolean expressionswith respect to the segments. For example, the user may specify thatviewership information representing an intersection, or a union, of twoor more segments is to be determined. This complex processing may beperformed by the system, and, in substantially real-time, analysisinformation may be presented to the user. Examples of analysisinformation for the defined audience may include viewership habits,content items preferred by viewers in the defined audience, contentproviders viewed by the viewers, demographic information, reachinformation, and so on. Advantageously, this analysis information may bepresented for ease of understanding the complexities using differentgraphical depictions of the analysis information. In this way, the usermay quickly create a particular audience and then determine theirgeneral, or fine-grained, viewing habits.

As a second example, user interfaces may enable users to identifysegments which are responsive to particular constraints associated withcontent. For example, a user may specify a particular content item, suchas a particular podcast series. In this example, the system may analyzethe datasets to determine one or more segments which include viewers whoare most likely to view, or have most viewed, the particular contentitem (e.g., a particular podcast series or other identified contentitem). Constraints may further include a particular content provider, aparticular time frame, and so on. Via these user interfaces the user maytherefore quickly determine an audience which is viewing particularcontent items or content items from particular content providers, whichmay be used, for example, in identifying an audience for another contentitem (e.g., a new podcast in a similar subject matter area).

The above-described techniques may be employed to enhance informationdiscoverability which is otherwise impenetrably hidden in largedatasets. Such techniques may, as an example, be used to determineoptimal associations. The system may determine, for example, thatindividuals who enjoy outdoor activities (e.g., individuals in an“outdoor activities” segment) and who plan to buy a car in the next sixmonths are watching a particular television program. A segment may beassociated with particular media programming, for example, if viewers inthat segment watch more minutes of the particular media programming thanviewers in other segments. Advertisements relating to particular outdooractivities (e.g., automotive brands or products, for example vehicleswhich have features such as a roof rack or a large cargo capacity) maythus be optimally associated with available slots on the televisionprogram. In some embodiments, the system may correlate informationregarding viewership of television programs (e.g., ratings) withinformation regarding viewers (e.g., information collected throughsurveys or other sources) to identify segments of viewership at a highlevel of detail. The system may thus provide detailed informationregarding viewership which enables optimal associations.

The techniques described herein may thus present information regardingassociations between content items and viewer segments. It has beennoted that design of computer user interfaces “that are useable andeasily learned by humans is a non-trivial problem for softwaredevelopers.” (Dillon, A. (2003) User Interface Design. MacMillanEncyclopedia of Cognitive Science, Vol. 4, London: MacMillan, 453-458.)The present disclosure describes various embodiments of interactive anddynamic user interfaces that are the result of significant development.This non-trivial development has resulted in the user interfacesdescribed herein which may provide significant cognitive and ergonomicefficiencies and advantages over previous systems. The interactive anddynamic user interfaces include improved human-computer interactionsthat may provide reduced mental workloads, improved decision-making,reduced work stress, and/or the like, for a user. For example, userinteraction with the interactive user interface via the inputs describedherein may provide an optimized display of, and interaction with, graphdata, image data, and/or other data, and may enable a user to morequickly and accurately access, navigate, assess, and digest the datathan previous systems.

Further, the interactive and dynamic user interfaces described hereinare enabled by innovations in efficient interactions between the userinterfaces and underlying systems and components. For example, disclosedherein are improved methods of receiving user inputs (including methodsof interacting with, and selecting, images, graphs, and other types ofdata), translation and delivery of those inputs to various systemcomponents, automatic and dynamic execution of complex processes inresponse to the input delivery, automatic interaction among variouscomponents and processes of the system, and automatic and dynamicupdating of the user interfaces (to, for example, display the relevantdata from various different applications and/or data sources). Theinteractions and presentation of data via the interactive userinterfaces described herein may accordingly provide cognitive andergonomic efficiencies and advantages over previous systems.

Various embodiments of the present disclosure provide improvements tovarious technologies and technological fields. For example, existingdata aggregation and analysis technology is limited in various ways(e.g., limited in the types of applications or data sources the data maybe drawn from, loss of data interactivity, etc.), and variousembodiments of the disclosure provide significant improvements over suchtechnology. Additionally, various embodiments of the present disclosureare inextricably tied to computer technology. In particular, variousembodiments rely on detection of user inputs via graphical userinterfaces, aggregation of data from different applications and datasources, and automatic processing, formatting, and display of theaggregated data via interactive graphical user interfaces. Such featuresand others (e.g., automatically determining an application or datasource an inputted link is directed to, accessing the application ordata source to retrieve and display the requested data, implementinginteractivity of displayed data reflective of how the data would bedisplayed in its native application) are intimately tied to, and enabledby, computer technology, and would not exist except for computertechnology. For example, the interactions with displayed data describedbelow in reference to various embodiments cannot reasonably be performedby humans alone, without the computer technology upon which they areimplemented. Further, the implementation of the various embodiments ofthe present disclosure via computer technology enables many of theadvantages described herein, including more efficient interaction with,and presentation of, various types of electronic data.

BRIEF DESCRIPTION OF THE DRAWINGS

The following drawings and the associated descriptions are provided toillustrate embodiments of the present disclosure and do not limit thescope of the claims. Aspects and many of the attendant advantages ofthis disclosure will become more readily appreciated as the same becomebetter understood by reference to the following detailed description,when taken in conjunction with the accompanying drawings, wherein:

FIG. 1 is a functional block diagram depicting an example networkenvironment for implementing a segment association system in accordancewith aspects of the present disclosure.

FIG. 2 is a flowchart of an example process for presenting analyses of acreated audience comprising one or more segments.

FIG. 3A illustrates an example user interface for creating an audiencebased on specified features.

FIG. 3B illustrates an example user interface for selecting segmentsassociated with the specified features.

FIG. 3C illustrates an example user interface presenting relatedsegments.

FIGS. 4A-4D illustrate example user interfaces presenting analysisinformation according to different reports.

FIG. 5 is a flowchart of an example process for presenting segmentsassociated with specified content item constraints.

FIG. 6 illustrates an example user interface presenting segmentsassociated with content item constraints.

FIG. 7 is a block diagram depicting a general architecture of an examplecomputing device for implementing a segment association system inaccordance with aspects of the present disclosure.

DETAILED DESCRIPTION Introduction

This specification describes user interfaces and enhanced techniques fordata discoverability, among other advantages. In the examples describedherein, information may be obtained, or generated, which describeviewing information associated with multitudes of viewers. The viewinginformation may represent viewing (and/or listening) habits with respectto content items of content providers. A content item may be, forexample, a radio broadcast, a podcast, a web-based streaming show, andso on. The information may be obtained from different datasets andindicate viewing information for specific segments of viewers. Asdescribed below, a segment may indicate viewing information for viewerswhich are associated with, at least, a same combination of features. Asystem described herein, for example, the segment association system140, may analyze the information to provide complex workflows for usersof the system.

With large datasets that may be received from multiple third-partyentities and may use various (and often inconsistent) segmentdescriptions and formats, identification of segments that meetparticular needs of a user is increasingly complex. For example,assigning a particular commercial to an available slot on a radiobroadcast, podcast, or streaming media, may be a better use of the slotthan assigning a different commercial which is less relevant to aviewing audience. However, an entity that is building an audience, forexample, may not be able to determine which of several media items(e.g., advertisements) are most relevant to viewers of numerous slots.The entity may have access to the above-described information, such thatgeneral information about the viewing audience may be obtained. Thisinformation may allow the entity to eliminate assignments which areapparently suboptimal, such as product placements that target youngadults in programs which are not popular with that demographic. However,the broad demographic categories provided by such data are not specificenough to allow determination of optimal associations.

The entity may also have access to data regarding individuals orhouseholds, such as surveys, activity logs, purchase histories, or otherinformation. Such data may allow the entity to determine that aparticular individual would be receptive to a particular advertisement.However, because the audience for mass media typically numbers in themillions, the entity cannot make optimal decisions by targetingindividual viewers. Further, an unaided human cannot accurately siftthrough the sheer volume of data collected at the individual orhousehold level to identify patterns and make optimal assignments.

Furthermore, the datasets described above may include tens, or hundreds,of thousands of segments. Thus, it may present technical challenges toextracts trends among these segments. Due to the fine-grained nature ofthe segments described herein, the entity may have difficultyassociating a particular advertisement with a particular content item.For example, a segment may include features indicating that associatedviewers play cricket and have traveled out of the state recently. Inview of the large number of segments available, the user cannotpractically identify those that may be related to this combination offeatures. However, as discussed further herein, a segment associationsystem may provide automated functionality for segment discovery, suchas to identify further segments that may be related, such as thoseassociated with viewers that play other sports, have traveled to themeparks recently, have purchased saving equipment, and so on.

The above-described entity may be interested in identifying even furthersegments of relevance and aggregating segments to create a potentialaudience for a content item. As an example, the entity may preferproviding or identifying characteristics (e.g., characteristics ofcontent). For example, the entity may prefer finding viewing informationfor viewers who play any sport or any sport associated with a particularcharacteristic (e.g., physical-touching allowed). Identifying viewinghabits of an audience which plays a sport associated with a physicalcharacteristic may be highly informative to the entity. For example, theentity may use the information to inform optimal association betweenadvertisements and content items. Given the above-described datasets,however, the user may have no technical scheme to extract the segmentswhich may form this potential audience. Therefore, without techniques toeasily create a bespoke audience, the entity will be unable to optimallyassociate commercials with the viewing habits of the bespoke audience.

Additionally, the entity may prefer interrogating the datasets toquickly identify one or more segments which are determined to be mostassociated with a content item, which may also provide segmentinformation useable in defining audiences. For example, certain datasetsmay be provided as textual information included in spreadsheets, datastructures, and so on. These datasets may be prepared by third-partyentities, and may comprise different forms, schemas, and so on. Thus,certain of the datasets may provide for additional information ascompared to other of the datasets. For example, and with respect tospreadsheets, certain of the datasets may include additional columns ofinformation.

Thus, it may be technologically impractical for the entity to identifysegments which are determined to be most associated with a particularcontent item. For example, the entity may have to navigate differentschemas, formats, naming conventions, and so on. Additionally, suchinformation will be encoded in hard to parse datasets. Therefore, theentity will have no quick visual tool to extract the requestedinformation. The entity may additionally prefer more complexinformation. For example, the entity may prefer identifying segmentswhich are most associated with a collection of content items or withcertain content items but not with other content items. As anotherexample, the entity may prefer identifying segments which are mostassociated with a particular content provider.

The techniques described herein may address, at least, theabove-described technical problems associated with data analyses. Forexample, the system described herein may improve upon prior techniquesto associate specific content (e.g., advertisements) with content items.Advantageously, and as described in more detail below with respect toFIG. 2 , for example, one embodiment of the system may enable a user ofthe system to create the user's preferred audience. For example, theparticular audience may represent a union, intersection, or disjoint, ofmultiple segments. For example, a user may use a user interface tocreate a particular audience which represents the intersection of afirst segment and a second segment. In this example, the user mayfurther indicate that the particular audience is to be disjoint with athird segment.

The system may determine viewership information for the above-describedparticular audience, and then update the user interface to presentanalysis information based on the viewership information. The user mayuse the analysis information to inform selection of an advertisement forinclusion in a content item. Additionally, and as will be described inmore detail below, a user may use a user interface to quickly specifyconstraints associated with content. An example constraint may indicate,for example, a particular content item of interest to the user. Anotherexample constraint may indicate a particular content provider. Based onthe constraints, the system may determine segments which are mostassociated with the constraints. For example, and with respect to aparticular content, the system may determine one or more segments whichmost watch the particular content item.

Overview

Accordingly, systems and methods are described for providing tools thatdetermine and display optimal assignments of content items. For example,the system can process data regarding individuals or households toidentify segments of viewers. As described above, segments of viewersmay have common features. For example, individuals who all gave the sameanswer to a particular survey question (e.g., “do you have a validpassport?” or “have you purchased a mobile phone in the past twelvemonths?”) may be identified as a segment. Features that define a segmentmay include, for example, recent activities, planned activities, food ordrink preferences, professions, employment statuses, medical conditions,hobbies, political affiliations, or other such features.

In some embodiments, segments may be identified based on the answers tomultiple survey questions (e.g., individuals whose answers indicatedthat they work more than 40 hours per week, frequently travel by air,and have not taken a vacation recently may be identified as a “businesstraveler” segment). In some embodiments, segments may be determined foran individual based on surveys of the individual's household. Forexample, the answers to a household survey may indicate that thehousehold includes young children. One or more adults residing at thehousehold may thus be identified as members of a “parents of youngchildren” segment. In some embodiments, segments may be identified basedon information derived from activities of individuals (e.g., anindividual that makes a purchase at a specialty biking store every weekmay be associated with a bike enthusiast segment). The number ofsegments that could be identified may number in the tens of thousands,or more, and may involve interdependencies and patterns that would beimpossible for an unaided human to discern or properly interpret.

The system described herein may further process data regarding theviewing habits of individuals, including at least some of theindividuals who have been classified into segments. This data may bereferred to herein as measures of association or information reflectingassociations. The system may thus determine a degree of association(e.g., measure of association) between various segments and the contentitems that are viewed. For example, the system may determine a degree ofassociation between a first segment (e.g., people who have purchased acomputer within the past twelve months) and each of a plurality ofcontent items (e.g., the first segment could be scored with reference toa television program with a science fiction theme, as well as numerousother content items). The system may further determine another degree ofassociation between a second segment (e.g., people whose hobbies includecooking) and the same plurality of content items. The system may thengenerate user interfaces that display the degrees of association betweenvarious segments and content items, and thereby enable interactivedetermination of optimal content item assignments. For example, thesystem may indicate that the “people who have recently purchased acomputer” segment has a higher degree of association with the sci-fiprogram than with a cooking program, and thus an advertisement targetingrecent computer buyers would be optimally assigned to an advertisingslot on the sci-fi program. The system may identify and display degreesof association that would be unexpected or counterintuitive to anunaided human, and may identify and display degrees of association forsegments that have no obvious affinity to any particular genre orcategory of content items. The system may thereby enable optimalassociations that would not otherwise be achieved.

A user interface may, as an example, be used to present segmentsdetermined to be optimally associated with a content item. The userinterface may, as an example, thus include user interface elementsassociated with specifying a time period, a data source (e.g., one ormore datasets), a content provider, a timeslot, and so on. Via simpleuser input the user of the user interface may thus surface segments,among the plethora of segments, which are optimally associated. Furtherdescription related to the user interface, and processes (e.g., lowdiagrams) for determining degrees of association between content itemsand segments of viewers, is described in U.S. patent application Ser.No. 16/428,46, which is hereby incorporated herein by reference in itsentirety. For example, FIG. 2A illustrates an example user interface andFIG. 3A describes an example process.

As another example, a user interface may, as an example, be used topresent content providers associated with specified segments. The userinterface may, as an example, thus include user interface elementsassociated with specifying a segment or features thereof. In this way, auser of the user interface may rapidly determine which segments areoptimally associated with a content provider. Further descriptionrelated to the user interface, and processes (e.g., low diagrams) fordetermining degrees of association between content items and segments ofviewers, is described in U.S. patent application Ser. No. 16/428,46,which is hereby incorporated herein by reference in its entirety. Forexample, FIG. 2B illustrates an example user interface and FIG. 3Bdescribes an example process.

As described above, the user interfaces described herein may improveupon prior techniques to surface viewership information. For example, auser may prefer creating a potential viewing audience. The potentialviewing audience may be created by the user to include certain features.This viewing audience may be aggregated based on a multitude ofsegments. As will be described below, with respect to at least FIGS.2-3C, a user may leverage user interfaces to quickly create such apotential viewing audience. Via the innovative back-end processingtechniques described herein, the creation may require limited userinput. For example, the user may specify one or more features. The usermay then select from among existing segments which are associated withthe specified features. Advantageously, the system may use innovativetechniques to determine related segments. These related segments, whichwould otherwise be hidden amongst the multitude of segments, may beselected by the user and included in the created viewing audience.

While the present disclosure may use television programs andadvertisements as examples, it will be understood that the presentdisclosure is not limited to any particular medium or method ofdelivery. For example, content items may include radio broadcasts,webcasts, podcasts, streaming media, social media, augmented realitycontent, virtual content, and the like, and may be associated withnetwork-based advertisements (e.g., advertisements viewed or heard invideo games, social media, mobile applications, etc.), advertisementspreceding or following movies, augmented reality advertisements based ona user's location or content being viewed, product placements,announcements or displays at sporting events, physical kiosks anddisplays, and so forth.

Terms

In order to facilitate an understanding of the systems and methodsdiscussed herein, a number of terms are defined below. The terms definedbelow, as well as other terms used herein, should be construed toinclude the provided definitions, the ordinary and customary meaning ofthe terms, and/or any other implied meaning for the respective terms.Thus, the definitions below do not limit the meaning of these terms, butonly provide exemplary definitions.

Content item: An item of content that may be viewed, heard, or otherwiseconsumed. Content items may include audio content, video content, and/orother content. Examples of content items include television programs,radio programs, commercials, podcasts, webcasts, streaming content,augmented reality content, live-streams, and so one. Reference toviewing a content item may be understood to include watching a contentitem, listening to a content item, hearing a content item, interactingwith a content item (e.g., an interactive content item, such asstreaming content, augmented or virtual reality content), and so on.

Data Store: Any non-transient computer readable storage medium and/ordevice (or collection of data storage mediums and/or devices). Examplesof data stores include, but are not limited to, optical disks (e.g.,CD-ROM, DVD-ROM, etc.), magnetic disks (e.g., hard disks, floppy disks,etc.), memory circuits (e.g., solid state drives, random-access memory(RAM), etc.), and/or the like. Another example of a data store is ahosted storage environment that includes a collection of physical datastorage devices that may be remotely accessible and may be rapidlyprovisioned as needed (commonly referred to as “cloud” storage).

Database: Any data structure (and/or combinations of multiple datastructures) for storing and/or organizing data, including, but notlimited to, relational databases (e.g., Oracle databases, MySQLdatabases, etc.), non-relational databases (e.g., NoSQL databases,etc.), in-memory databases, spreadsheets, as comma separated values(CSV) files, eXtendible markup language (XML) files, TeXT (TXT) files,flat files, spreadsheet files, and/or any other widely used orproprietary format for data storage. Databases are typically stored inone or more data stores. Accordingly, each database referred to herein(e.g., in the description herein and/or the figures of the presentapplication) is to be understood as being stored in one or more datastores.

Content Provider: A content provider of one or more content items, suchas a television network, internet service provider, broadcaster,podcaster, and so on. In some contexts, a content provider may bereferred to as a “provider,” “network,” or “television network.” It willbe understood that such references are provided for purposes of example,and do not limit the present disclosure to a particular type of contentprovider.

Viewer: A consumer of content, including multiple forms of content.Thus, the term “viewer” should be understood (unless the contextrequires otherwise) as including consumers of audio or other contentformats.

Segment: A portion of a set of viewers that shares one or more featuresor attributes. A segment may be defined in terms of demographic,geographic, psychographic, and/or other features, such as behaviors oractivities (past, present, or future), interests, hobbies, or otheridentifiable patterns. Segments may be identified in different datasetsor databases, such as datasets which tracking viewership information ofviewers included in segments.

Timeslot: A time interval associated with a content item, such as theday of the week and time of day at which a network television program istypically broadcast. Unless the context requires otherwise, “timeslot”may be used interchangeably with “content item” to reference contentthat airs on a particular day and time.

Example Embodiments

FIG. 1 is a block diagram of an example system 100 for optimalassociation of content items in accordance with aspects of the presentdisclosure. As shown, the example system 100 includes a client computingdevices 110, a segment association system 140, and data stores 150, 152,and 154, which may communicate with each other via a network 120.

The client computing device 110 can be any computing device thatimplements aspects of the present disclosure, and may include one ormore software applications such as web browsers, mobile applications,messaging services, or other applications. Example computing devise mayinclude mobile devices, wearable devices, laptops, computers, augmentedreality devices, and so on. In some embodiments, multiple clientcomputing devices 110 may communicate with the segment associationsystem 140. In any event, a user or users may interact with the examplesystem 100 through any number of client computing devices 110.

The segment association system 140 can be a computing system configuredto make associations between content items (e.g., television programs,streaming media, and the like, as discussed above) and segments ofviewers that are of interest to advertisers. For example, the segmentassociation system 140 can be a computer system configured to executesoftware or a set of programmable instructions that process viewer data,segment data, and viewership data to determine associations, and displaythe resulting associations in one or more user interfaces. In someembodiments, the segment association system 140 can be implemented usinga computer system 700, as shown in FIG. 7 and described below.

The segment association system 140 can include one or more computingdevices (e.g., server(s)), memory storing data and/or softwareinstructions (e.g., database(s), memory device(s), etc.), and otherknown computing components. According to some embodiments, the segmentassociation system 140 can include one or more networked computers thatexecute processing in parallel or use a distributed computingarchitecture. In some embodiments, the segment association system 140may be a system of one or more computers, one or more virtual machinesexecuting on a system of one or more computers, and so on. The segmentassociation system 140 can be configured to communicate with one or morecomponents of the system 100, and can be configured to securely provideinformation via an interface(s) accessible by users over a network(e.g., the Internet). For example, the segment association system 140can include a web server that hosts a web page accessible throughnetwork 120. In some embodiments, the segment association system 140 caninclude an application server configured to provide data to one or moreclient applications executing on computing systems connected to thesegment association system 140 via the network 120.

The data stores 150, 152, and 154 may illustratively be anycomputer-readable data stores that implement aspects of the presentdisclosure. For example, the data stores 150, 152, and 154 may bemagnetic media such as hard disc drives, solid state devices, flashdrives, databases, lists, or any other non-transient computer-readabledata stores. The viewership data store 150 may store viewershipinformation regarding viewership of particular content items. Forexample, the viewership data store 150 may store ratings or other datathat identify individual viewers and the content items (or portions ofcontent items) that they viewed during a particular time period. Theviewer data store 152 may store information regarding individualviewers, such as individual or household survey responses, activitylogs, or other data that enables classifying viewers into segments. Thesegment data store 154 may store information regarding viewer segments,and in some embodiments may store the results of classifying viewersinto segments. In some embodiments, one or more of the data stores 150,152, 154 may be implemented as a single data store, such as a relationaldatabase.

The data stores 150, 152, and 154, may store information derived fromdatasets including viewership information. The datasets may, as anexample, be generated by third-party providers who monitor, or otherwisedetermine, viewing habits of viewers. The datasets may be provided in apreferred format by the third-party provider. For example, a certaindataset may include viewership information in a spreadsheet. In someembodiments, a dataset may be in the form of a spreadsheet may specifyunique identifiers associated with segments along with viewinginformation for the segments. The viewing information may be included indifferent columns of the spreadsheet, with each column being designatedby an identifier (e.g., a name). For example, the information mayindicate minutes viewed of certain content items. As another example,the information may indicate rating information for each content item.Certain datasets may include viewing information indicating specificinstances of viewing by viewers. For example, the information mayspecify times at which a podcast was listened to or times at whichparticular streaming content was accessed.

Thus, in some embodiments, the segment association system 140 may deriveviewership information to enhance a speed at which processing may takeplace. To derive information, the system 140 may determine schemas usedfor each dataset. In some embodiments, the schemas may be obtained fromthird-party providers. Thus, the schema may be ingested and used tointerpret the included viewership information. As an example ofdetermining a schema, the segment association system 140 may access theidentifiers (e.g., names) for different types of viewership information.The segment association system 140 may then determine correspondingtypes of viewership information based on analyses of these identifiers.In some embodiments, the segment association system 140 may identifycandidates of matching types of viewership information between datasets.

As an example, the segment association system 140 may obtain a name of atype of viewership information included in a particular column of adataset. The segment association system 140 may determine similaritieswith other names included in other datasets. As an example, the segmentassociation system 140 may use deep-learning techniques to generate aword embedding for each name. As another example, the segmentassociation system 140 may determine metrics, such as a Levenshteindistance, between words. In this way, the segment association system 140may determine types of information which match between datasets.

To derive viewership information, the segment association system 140 mayaggregate information included in the datasets. For example, the segmentassociation system 140 may identify all information specific to acertain segment. The segment association system 140 may then store theaggregated information for the certain segment. This aggregation mayoptionally be performed upon receipt of one or more datasets. In thisway, the segment association system 140 may determine specific metricsderived from the datasets. An example metric may include minutes ofviewing for specific content items. In this example, the segmentassociation system 140 may aggregate all instances of viewing by anyviewer associated with a same segment for each content item. Thisinformation may thus be rapidly presented to users in the userinterfaces described herein.

In some embodiments, the segment association system 140 may obtainviewership information in substantially real-time. For example, thesegment association system 140 may receive information pushed fromsystems (e.g., servers) which provide content items to users. As anexample, a content delivery network may monitor times at which contentitems are requested for presentation by users. In this example, thecontent delivery network may transmit instances of viewing to thesegment association system 140. In all situations in which viewinginformation is used, it may be appreciated that users may, as anexample, be required to affirmatively consent to such use or opt-in forthe use.

The example system 100 further includes a network 120, through which theclient computing device 110, segment association system 140, and datastores 150 and 152 may communicate. The network 120 may illustrativelybe any wired or wireless network, including but not limited to a localarea network (LAN), wide area network (WAN), Wi-Fi network, Bluetoothnetwork, cellular network, mesh network, the Internet, or other networkor networks. In some embodiments, the system 100 may include multiplenetworks 120. For example, the client computing device 110 and thesegment association system 140 may communicate via the Internet, and thesegment association system 140 and the data stores 150, 152, and 154 maycommunicate via a LAN.

As will be described in more detail below, the segment associationsystem 140 may enable different workflows via front-end user interfacespresented on the client computing device 110. An example workflow mayinclude creation of an audience and viewing analyses of viewershipinformation for the created audience. FIG. 1 illustrates an example of auser interface 112 which may be used to create an audience. The userinterface 112 may be an example of a user interface accessible via abrowser executing on the client computing device 110. For example, theuser interface 112 may represent a front-end of a web application. Insome embodiments, the segment association system 140 may execute the webapplication. In some embodiments, the segment association system 140 mayprovide information to another system for inclusion in the userinterface 112. The user interface 112 may also represent a userinterface of an application. For example, the application may be anapplication available via an application store (e.g., an ‘app’). In thisexample, the user interface 112 may be rendered by the application andreceive information from the segment association system 140 forinclusion in the user interface 112. User input may optionally beprovided to the segment association system 140 for processing. In someembodiments, the application may request information from the system 140based on received user input. In some embodiments, the system 140 mayrespond to application programming interface (API) calls or endpoints.

The user interface 112 includes an input portion in which the user hasspecified features of an audience. In the example, the user hasspecified features of ‘fishing’ and ‘own’. These features may be used toidentify segments which include the specified features. For example, thesegment association system 140 may determine whether any segmentsinclude the words, ‘fishing’ and ‘own’. The segment association system140 may also determine words which are similar to the specified words.In response, the user interface 112 may update to reflect segmentsincluded in the segment data store 154 which are responsive to specifiedfeatures.

A user of the user interface 112 may then select one or more of theresponsive segments. Advantageously, the segment association system 140may, in some embodiments, determine related segments to the selectedsegments. For example, the segment association system 140 may determinesimilarities between features. The segment association system 140 maythus surface segments which may be relevant to a goal of the user of theuser interface 112. Analysis information may then be presented in theuser interface 112. As will be described in more detail below, thesegment association system 140 may determine reports for presentation.The reports may include, as non-limiting examples, demographicinformation, rating information, reach information, and so on. In theillustrated example, user interface 112 includes reach information whichmay represent, as an example, the unduplicated percentage of apopulation that is exposed at least one time to the portion of anadvertising campaign included in a selected content item during someperiod of time.

As will be described below, in some embodiments users may interact withthe segment association system 140 via voice commands. For example, thetechniques described herein may be headless. In these examples, the usermay provide voice commands regarding features associated with anaudience being created by the user. The client computing device 110 maybe a speaker or other audio element which outputs responses receivedfrom the system 140 or a system in communication with the system 140.Thus, the device 110 may identify, using natural language, segmentsresponsive to the features. The device 110 may additionally outputnatural language identifying related segments. The user may providevoice commands selecting certain segments, and the device 110 may usenatural language techniques to describe analysis information.

It will be understood that FIG. 1 is provided for purposes of example,and that the system 100 may include more, fewer, or differentconfigurations of devices than the example illustrated in FIG. 1 . Forexample, one or more of the data stores 150, 152, and 154 may beimplemented as components of the segment association system 140. As afurther example, a server, proxy, or other device may serve as anintermediary between the client computing device 110 and the segmentassociation system 140. The present disclosure is thus understood toinclude many embodiments beyond the example provided in FIG. 1 .

FIG. 2 is a flowchart of an example process 200 for presenting analysesof a created audience comprising one or more segments. For convenience,the process 200 will be described as being performed by a system of oneor more computers (e.g., the segment association system 140).

At block 202, the system presents an interactive user interfaceassociated with audience creation. As described above, with respect toat least FIG. 1 , the system may determine analyses of informationassociated with a customized viewing audience. These analyses may informassociation between advertisements and content items as describedherein. As will be described below, a user of the interactive userinterface may specify features of interest to the user. The system maythen determine analyses of information, such as viewership information,for segments associated with these specified features.

It may be appreciated that certain viewers may prefer, or be known(e.g., based on the datasets described herein) to view, certain contentitems. Additionally, certain viewers may prefer, or be known to view,certain content providers than other viewers. A user of the interactiveuser interface described herein may prefer to understand informationassociated with viewers included in a unique audience. The uniqueaudience may be defined, at least in part, by specific features. Thesefeatures may, as an example, not directly correspond to any one segment.For example, the user may prefer viewing analyses of viewers who (1) ownfishing equipment, (2) indicated they travel greater than a thresholddistance to eat at restaurants, and (3) so on. It may be technicallydifficult for the user to extract relevant viewership information forresponsive users.

In the above-described example, the user may use the interactive userinterface to specify features of (1) own fishing equipment and (2)travel to eat at restaurants. The user, as an example, may be using theinteractive user interface to understand the viewing habits of theseviewers. Advantageously, and illustrated in FIGS. 3A-3C, user interfacesdescribed herein may enable the surfacing of segments which areresponsive to the above-identified features. Additionally, analyses ofinformation associated with these segments may be succinctly provided.This information may optionally be provided in reports for ease ofconsumption to the user of the interactive user interface.

In this way, the user may thus quickly create an audience corresponding,at least, to the above-identified features via minimal user input. Thiscreated audience may thus represent viewers included in disparatesegments. Information, such as viewership information, may then beaggregated for the viewers and presented in the interactive userinterface. As an example, the user may quickly view rating informationfor these viewers. As another example, the user may quickly understanddemographic information, such as economic information, for these users.

Thus, via the user interface described herein, the user be informed asto association between advertisements and content items or contentproviders. For example, the user may understand which content items orcontent providers are viewed by viewers associated with certainfeatures. This information may be obfuscated, or technically difficultto obtain, based on analyses of the datasets described herein.

At block 204, the system receives user input specifying features of anaudience. As described above, the user of the interactive user interfacemay specify features. The interactive user interface may respond totextual user input. In some embodiments, the interactive user interfacemay respond to voice commands. In some embodiments, the interactive userinterfaces described herein may be headless. In these embodiments, theuser may provide voice commands identified features of an audience to anintelligent personal assistant. The system may receive the features anddetermine segments responsive to the voice commands. The system may thencause the intelligent personal assistant to output (e.g., via simulatedspeech) analyses of information associated with the determined segments.

Reference will now be made to FIG. 3A, which illustrates an example userinterface 300 for creating an audience based on specified features. Inthe illustrated example, the user interface 300 includes an inputportion 302 to specify a time period of interest. The time period ofinterest may inform which datasets, or which portions thereof, are to beused to create an audience. For example, the user of user interface 300has selected a particular year (e.g., ‘2019’) along with a particularquarter (e.g., ‘Q1’).

User interface 300 further includes a feature portion 304 in whichfeatures of viewers may be specified. As described above, the featuresmay correspond to features associated with segments. For example, theuser of user interface 300 include features which are specified by oneor more segments. However, advantageously the user may specify words ofinterest to the user. As an example, the user may indicate the word‘fishing’. There may be no segment which has a feature of ‘fishing’.Instead, there may be features which describe aspects of fishing, suchas ‘own fishing equipment,’ ‘subscribe to fishing magazines,’ and so on.The user interface 300 may thus surface these segments.

Additionally, there may be no segment with the word ‘fishing’. Thesystem may review the features of segments and determine measures ofsimilarity between the words and the specified word ‘fishing’. Forexample, the system may determine word embeddings, such as vectorsassociated with a word feature space. Word embeddings may, as anexample, may be mapped to vectors of real numbers using exampledeep-learning techniques (e.g., GloVe, and so on), dimensionalityreduction, co-occurrence matrices, and so on. The system may thendetermine measures of similarity between the word embeddings, forexample a cosine distance between the word embeddings. In this way, thesystem may identify candidate words which are similar to a specifiedword in the user interface 300. The system may optionally use other (oradditional) techniques, such as a Jaccard measure, Levenshtein distance,and so on. The user interface 300 may update to present words determinedto be similar to a word specified by the user. The user may provide userinput selecting a presented word or may indicate that a specified wordis not similar. In some embodiments, the system may update techniques todetermine similar words based aggregations of such user input. Forexample, machine learning models may be updated using the user input astraining information.

User interface 300 includes input portions 306 and 308 to specify asource and one or more categories. The source may indicate a particulardataset or a collection of datasets. For example, the user of userinterface 300 may indicate an identifier associated with a third-partyprovider. The system may then identify datasets which are associatedwith the third-party provider. For example, the datasets may have beengenerated by the third-party provider. A category may represent acategory of feature. For example, the categories may correspond toproducts or services. Example categories are illustrated in FIG. 3B withrespect to portion 308.

In some embodiments, the user interface 300 may enable specification ofa particular type of content item. For example, the user may indicatethat only viewers of podcasts are to be identified. As another example,the user may indicate that only viewers of augmented reality content areto be identified. In this way, the system may determine segments, orinformation associated with segments, specific to a type of contentitem.

The user may optionally interact with interactive element 310 to causethe system to determine segments which are responsive to the specifiedfeatures 304. As described above, in some embodiments the user mayprovide verbal commands specifying the features. In these embodiments,the user may thus not interact with an interactive element 310. It maybe appreciated that specifying features may reduce a total number ofviewers. For example, as increasing features are specified the viewerswho are associated with the identified feature may be reduced. Thus,advantageously the user interface 300 provides an indication 312 of atotal measure of viewers implicated by the specified features 304. Forexample, the measure may represent a total number of a percentage of atotal number of viewers. In this way, the user of the user interface 300may determine whether additional features are to be added or removed.For example, the user may prefer that creating a highly tailoredaudience. In some embodiments, the user may save audiences previouslycreated by the user interface 300. The user may access these savedaudiences via element 314.

At block 206, the system determines responsive segments. As describedabove, the system analyzes the specified features and determinessegments which are associated with these features. The system may, as anexample, perform a keyword matching scheme to identify segments whichare associated with the specified features. For example, if a featurespecified by the user of the interactive user interface is a particularword, then the system may identify any segments which are associatedwith this word. As another example, the system may use deep-learningtechniques to identify responsive segments. For example, the system mayuse word embeddings to identify features which are close in an examplefeature space.

The determined segments may then be presented in the interactive userinterface. These segments may therefore represent segments which arerepresented in the datasets described herein. For example, the segmentsmay be included in the segment data store 154 described above withrespect to FIG. 1 . The system may thus receive selection of one or moreof the representative segments.

In some embodiments, the features specified by the user may be assigneda weight or importance. For example, the user may indicate a firstfeature of ‘fishing equipment’ and a second feature of ‘own.’ However,the user may additionally indicate that the feature ‘fishing equipment’is to be weighted higher or assigned a greater importance. As may beappreciated, there may be hundreds of thousands or more segments. Thus,the system may update the interactive user interface to present asubstantial number of segments for selection by the user.

In the above-described example, too great of a list (e.g., in length)may present a poor user experience, the system may therefore placecertain segments higher in the list. An example technique may use theweight or importance to include certain segments higher. With respect tothe example, the system may present segments associated with owningfishing equipment higher than the feature of owning goods or services.Additionally, the system may present segments associated with bothfeatures higher than those of other segments.

The features may additionally be included in a Boolean expression. Forexample, and with respect to the above, the user may specify an exampleBoolean expression such as ‘fishing equipment and own,’ or ‘fishingequipment and/or own,’ and so on. In the former Boolean expression, thesystem may identify segments which are associated with both of thefeatures. In the latter the system may identify segments associated witheither of the features. For this example, the system may includesegments which have both features higher in a presented list.

Reference will now be made to FIG. 3B, which illustrates an example userinterface 320 for selecting segments associated with the specifiedfeatures. User interface 320 illustrates segments 322 which areresponsive to the specified features 304. As described above, the usermay select one or more of the segments for inclusion in an audiencebeing created. In the illustrated example, the user has selected thesegment of, ‘Sport equipment: fishing own.’

Upon selection of one or more segments, the indication 324 of a totalnumber of viewers may be updated. In the example of FIG. 3B, the totalnumber has been reduced from ‘79.16%’ to ‘8.4%’. Thus, a total number ofviewers who are implicated by the features may be 79.16%. However, atotal number of viewers included in the selected segment 322 may be‘8.4%’.

At block 208 the system determines related segments. As described above,for example with respect to FIG. 1 , the system may surface segmentswhich are related to one or more segments selected by the user. Forexample, the system may access, or generate, word embeddings of thewords or expressions used as features of the selected segments. Thesystem may then determine other segments which are close in a featurespace to the words. For example, a cosine distance may be computed.Other example techniques may be used, such as using the universalsentence encoder, GloVe, variational auto encoders, and so on.

In some embodiments, the system may perform an example process whichleverages multiple steps to enhance a similarity determination process.For example, the system may compare two segments. In this example, oneof the segments may represent a selected segment and the other segmentmay represent a segment under consideration. The system may determine ajaccard similarity (e.g., set intersection/set overlap) between a person(e.g., viewer) composition of the two segments. The system mayadditionally determine a jaccard similarity between the features of thesegments (e.g., the segment name as represented in a dataset).Advantageously, the system may blacklist (e.g., not use) common words ortokens. The system may optionally use a count of a total number ofviewers in each segment, such as counting persons in the candidatesegment. The system may determine a ratio of a number of viewers in eachof the segments. For example, the ratio may represent a ratio of viewersin the candidate segment to viewers in the selected segment.

With respect to the above, the system may additionally determinestatistical information. For example, the system may compute:

g_(stat) = df^(′)count^(′) * F ⋅ log (df^(′)count^(′)) * F ⋅ lit(distinct_people)/df^(′)count_candidate_segment^(′) * df^(′)count_selected_segment^(′)

In the above example, the ‘count’ may represent a total number ofviewers aggregated (e.g., summed) from each of the two segments. The‘distinct_people’ may represent a total number of distinct viewersassociated with the two segments (e.g., a same person may optionally beincluded in multiple segments). The ‘count_candidate_segment’ mayrepresent a total number of viewers in the candidate segment. The‘count_selected_segment’ may represent a total number of viewers in theselected segment. In some embodiments, ‘count_candidate_segment’ may bereferred to as ‘count_right’ and ‘count_selected_segment’ may bereferred to as ‘count_left.’

The g_(stat) may represent a measure of whether membership in onesegment affects membership in the other segment. In some embodiments,the g_(stat) may be related to contingency tables. The higher thestatistic the more likely it may be that knowing membership in a firstsegment (e.g., the selected segment, the candidate segment) providesinformation about membership in a second segment (e.g., the candidatesegment, the selected segment). For example, a first segment may beassociated with features, ‘does not often drink beer.’ In this example,a second segment may be associated with features, ‘Prefers Brand A ofbeer.’ As non-limited examples, a probability of a viewer (e.g., person)being in the first segment is 33% and a probability of a viewer (e.g.,person) being in the second segment is 10%. If the population is largeenough to infer the 33% population with greater than a threshold measureof conviction, then the g_(stat) would be large. In this way, the systemcan determine that knowing information about whether a viewer (e.g.,person) is in the first segment provides information about whether theviewer also prefers ‘Brand A’ of beer.

The above described information may be provided to example functionswhich squash values between a certain range (e.g., sigmoid, tanh, and soon). With respect to a sigmoid, the above-described information may thusbe squashed between respective 0 and 1 values. These values may beaggregated and a determination as to similarity may be made. Thedetermination may be based on a probability or value which is obtainedfrom the squashed values. For example, sigmoid values may be interestedas probabilities. In some embodiments, a neural network may be used tolearn similarity. For example, one or more layers of the neural networkmay use the information escribed above to determine similarity.Activation functions, such as rectified linear units, tanh, sigmoids,and so on, may be used in the neural network. In some embodiments, afinal layer of the neural network may determine a probability associatedwith two segments being similar. For example, a sigmoid activationfunction may squash values between 0 and 1. The resulting value may thenbe interpreted as a probability.

Reference will now be made to FIG. 3C, which illustrates an example userinterface 330 presenting related segments. In the illustrated example,related segments 332 have been determined. These related segments 332may be selected by the user of the user interface 330. In this way, theaudience being created by the user may be expanded in size.Additionally, these related segments may surface segments of which theuser may be unaware. That is, due to the number of segments the user maybe unable to surface all segments of interest to him/her.

In some embodiments, the user may combine segments using Booleanexpressions. For example, interactive element 334 may be used to combinesegments with an ‘AND’, ‘OR,’ or ‘NOT’ statement. As an example, theuser may indicate that a segment selected in user interface 320 is to becombined using an ‘AND’ statement with one or more of the relatedsegments in user interface 330. The information associated with thesesegments, such as viewership information, may then be aggregated basedon the Boolean expression. For example, rating information may representrating information which is an intersection of rating information fromthe two segments. This may provide the user of the user interface 330with much more detailed, and fine-grained, information as compared toother techniques.

The user interface 330 may further include demographic controls 334. Forexample, the user may indicate that only viewers in a certain age rangeare to be used when determining analyses of the created audience. Asanother example, the user may indicate whether viewers who have childrenare to be included in the created audience. In this way, the user mayfilter viewers according to different characteristics.

At block 210, the system determines analysis information. As describedabove, the user may select segments for inclusion in the createdaudience. For example, the segments may be responsive to featuresprovided by the user. As another example, the segments may be related tosegments responsive to the features. The user may additionally filterusers according to different characteristics (e.g., characteristics ofcontent). For example, demographic controls 334 may be used. Additionalcharacteristics may include, location, job, preference of streamingplatform, or any customized characteristic which is represented in, orderivable from, the datasets described herein.

Examples of analysis information are included in FIGS. 4A-4D. FIGS.4A-4D illustrate example user interfaces presenting analysis informationaccording to different reports. FIG. 4A illustrates a user interface 400presenting rating information for viewers in the created audience. Inthe example, a bar chart 402 representing rating of parent contentproviders is included. A parent content provider may represent an entitywhich creates content items via different sub-content providers. Forexample, a podcast network may be a parent content provider. In thisexample, the podcast network may have multitudes of different podcasts,podcast channels, and so on. A bar chart 404 for rating information ofdifferent content providers is included. This may represent sub-contentproviders. In this way, the user of user interface 400 may quicklyunderstand which content providers the created audience values orwatches highly.

FIG. 4B illustrates a user interface 410 presenting demographicinformation 412. Example demographic information 412 may include an agedistribution, gender distribution, income distribution, and so on. Insome embodiments, location information may be presented. For example, aninteractive map presenting hot spots or clusters of viewers in theaudience may be included. In this example, the locations may beapproximated to within a certain distance of the viewers' actuallocations. In this way, specific locations may be obfuscated from theuser of the user interface 410. The interactive map may be zoomable,such that the clusters may be expanded in size, or reduced in size,based on a zoom level.

FIG. 4C illustrates a user interface 420 presenting reach informationassociated with the created audience. In the example, the user interface420 includes example advertisement networks or creators 422. Contentproviders are represented in a bar chart 424. Via this user interface420, a user may ascertain which advertisement network has a higher reachbased on content providers being viewed by viewers in the audience.

FIG. 4D illustrates a user interface 430 presenting reach informationassociated with the created audience. In the example, example contentitems 432 are included. These content items 432 may represent contentitems which are most associated with the audience. For example, theviewers included in the created audience may be most likely to watch acontent item, listen to a podcast, and so on. The user may useinteractive portion 434 to search for a specific title of a contentitem, specific reach values, specific rating information, and so on.Portion 434 includes a list of example content items, which may beorganized according to reach, content provider, reach percentage, and soon.

FIG. 5 is a flowchart of an example process 500 for presenting segmentsassociated with specified content item constraints. For convenience, theprocess 500 will be described as being performed by a system of one ormore computers (e.g., the segment association system 140).

At block 502, the system presents an interactive user interface. Theuser interface may be used to identify segments which are mostassociated with certain content items or content providers. For example,the user interface may enable the specification of a particular nameassociated with a content item. As another example, the user interfacemay enable the specification of a name associated with a contentprovider. The user interface may further include elements to specify ayear, a quarter, a parent content provider, daypart information, datasetname, and so on.

It may be appreciated that certain viewers may prefer, or be known(e.g., based on the datasets described herein) to view, certain contentitems. As an example, a podcast may be specific to the review of acertain type of restaurant. Advantageously, the system may determinesegments of viewers of this podcast which are most associated with thepodcast. For example, the determined segments may have rated the podcastmost highly as compared to other segments. As another example, thedetermined segments may represent viewers who are most consistent inviewing the podcast. As another example, the determined segments mayrepresent viewers who have listened to a greatest quantity of thepodcast. As another example, the determined segments may representviewers who have most subscribed to the podcast. Thus, in theseexamples, a determined segment may represent viewers who have one ormore same features. For example, the determined segment may representviewers who have recently purchased restaurant gift cards. As anotherexample, the determined segment may represent viewers who have indicatedthey travel greater than a certain threshold distance to tryrestaurants.

With respect to the above example of a podcast, certain advertisementsmay be preferable for inclusion in the podcast. Thus, user may use theuser interface to specify a title of the podcast. As will be describedbelow, the user interface may then update to present segments which aremost associated with the podcast.

At block 504, the system receives user input specifying constraints. Asdescribed above, the user interface may include input portionsassociated with different constraints. Thus, a user of the userinterface may specify a constraint indicating a name of a content item,content provider, and so on.

At block 506, the system determines segments associated withconstraints. The system accesses the datasets described herein anddetermines segments which are most associated with the constraints. Thesystem may optionally determine a threshold number, for example 5, 10,15, and so on, which are most associated with the constraints. Withrespect to a content item, the system may determine segments whichinclude viewers that are known to most watch the content item, rate thecontent item most highly, and so on. With respect to a content provider,the system may determine segments which include viewers that are knownto most watch the associated content items, rate the content provider orassociated content items most highly, and so on.

To determine segments, the system may determine a degree of associationbetween content items associated with the constraints and segments. Insome embodiments, the degree of association may be determined using aterm frequency-inverse document frequency (“TF-IDF”) function, such as:

${segmentMinutes}_{p,q} \times {\log\left( \frac{{totalMinutes}_{q}}{{totalSegmentMinutes}_{q}} \right)}$

In the above function, the term frequency (“TF”) segmentMinutes_(p,q) isthe total number of minutes that the selected segment viewed a contentitem or timeslot p (which is associated with a particular contentprovider) during a time period q. The inverse document frequency (“IDF”)is a logarithmic function that includes a numerator totalMinutes_(q),which is the total number of minutes of available content during thetime period q (regardless of how many people watched it or how often itwas watched), and a denominator totalSegmentMinutes_(q), which is thetotal number of minutes that individuals in the segment viewed anycontent item during the time period q.

The above-described TF-IDF function thus quantifies the degree ofassociation between a segment and a content item. The function, as anexample, may act as a weighting function. For example, a segment of“people who have been to the supermarket in the past twelve months” maybe large relative to the total population of viewers, and thus the TF ofthe segment may be relatively high for any given content item. However,the relative size of the segment causes it to have a relatively low IDF,and so the function is only likely to identify a high degree ofassociation between a content item and a large segment if the TF for thecontent item (that is, the total amount of time this segment spendsviewing the content item) is exceptionally high. As a further example, asegment of “people whose hobbies include mountain climbing” may berelatively small compared to the total population, and thus the segmentwould have a relatively high IDF. However, the segment would have arelatively low TF in light of its relative size. The function thusidentifies segments which are large enough to have a significant TF (andthus be large enough to be of interest to advertisers) but also smallenough to have a significant IDF (and thus be targetable with specificadvertisements). In various embodiments, the degree of association maybe determined based on minutes viewed, distinct viewers, or similarcriteria.

Further description related to the TF-IDF function is described in U.S.patent application Ser. No. 16/428,46, which is hereby incorporated byreference in its entirety.

At block 508, the system updates the user interface to present thedetermined segments. The system presents the segments, such as a nameassociated with each segment. The name may represent the features of thesegments. Thus, the user may quickly identify features which are mostassociated with a particular content item or content provider. Theseidentified features may inform optimal association between anadvertisement and a content item.

FIG. 6 illustrates an example user interface 600 presenting segments 604associated with content constraints. The user interface 600 includesinput portions 602 identifying parameters (e.g., characteristics) ofcontent. Example parameters may include year, quarter, parent provider,content provider, content item, daypart, dataset source, in a particularsegment, and so on. It may be appreciated that each portion 602 mayinclude a multitude of values. For example, the user of user interface600 may indicate two or more content items. Thus, the surfaced segmentsmay be segments which are most associated with both of these contentitems. As another example, Boolean expressions may be used. For example,the user of user interface 600 may indicate ‘first content item and notsecond content item.’ In this example, the surfaced segments may be mostassociated with the first content item and least associated with thesecond content item. In some embodiments, the user may assign a weightor priority to information included in the portions 602. For example,the user of user interface 600 may indicate two content items in portion602. The user may indicate that he/she is more interested in viewers whoare most associated with the first content item as compared to thesecond content item.

As illustrated, user interface 600 includes segments 604 most associatedwith the constraints in portion 602. These segments 604 may be rankedaccording to different metrics, such as rating information, viewing timeinformation, reach information, and so on.

Additional Implementation Details and Embodiments

Various embodiments of the present disclosure may be a system, a method,and/or a computer program product at any possible technical detail levelof integration. The computer program product may include a computerreadable storage medium (or mediums) having computer readable programinstructions thereon for causing a processor to carry out aspects of thepresent disclosure.

For example, the functionality described herein may be performed assoftware instructions are executed by, and/or in response to softwareinstructions being executed by, one or more hardware processors and/orany other suitable computing devices. The software instructions and/orother executable code may be read from a computer readable storagemedium (or mediums).

The computer readable storage medium can be a tangible device that canretain and store data and/or instructions for use by an instructionexecution device. The computer readable storage medium may be, forexample, but is not limited to, an electronic storage device (includingany volatile and/or non-volatile electronic storage devices), a magneticstorage device, an optical storage device, an electromagnetic storagedevice, a semiconductor storage device, or any suitable combination ofthe foregoing. A non-exhaustive list of more specific examples of thecomputer readable storage medium includes the following: a portablecomputer diskette, a hard disk, a solid state drive, a random accessmemory (RAM), a read-only memory (ROM), an erasable programmableread-only memory (EPROM or Flash memory), a static random access memory(SRAM), a portable compact disc read-only memory (CD-ROM), a digitalversatile disk (DVD), a memory stick, a floppy disk, a mechanicallyencoded device such as punch-cards or raised structures in a groovehaving instructions recorded thereon, and any suitable combination ofthe foregoing. A computer readable storage medium, as used herein, isnot to be construed as being transitory signals per se, such as radiowaves or other freely propagating electromagnetic waves, electromagneticwaves propagating through a waveguide or other transmission media (e.g.,light pulses passing through a fiber-optic cable), or electrical signalstransmitted through a wire.

Computer readable program instructions described herein can bedownloaded to respective computing/processing devices from a computerreadable storage medium or to an external computer or external storagedevice via a network, for example, the Internet, a local area network, awide area network and/or a wireless network. The network may comprisecopper transmission cables, optical transmission fibers, wirelesstransmission, routers, firewalls, switches, gateway computers and/oredge servers. A network adapter card or network interface in eachcomputing/processing device receives computer readable programinstructions from the network and forwards the computer readable programinstructions for storage in a computer readable storage medium withinthe respective computing/processing device.

Computer readable program instructions (as also referred to herein as,for example, “code,” “instructions,” “module,” “application,” “softwareapplication,” and/or the like) for carrying out operations of thepresent disclosure may be assembler instructions,instruction-set-architecture (ISA) instructions, machine instructions,machine dependent instructions, microcode, firmware instructions,state-setting data, configuration data for integrated circuitry, oreither source code or object code written in any combination of one ormore programming languages, including an object oriented programminglanguage such as Smalltalk, C++, or the like, and procedural programminglanguages, such as the “C” programming language or similar programminglanguages. Computer readable program instructions may be callable fromother instructions or from itself, and/or may be invoked in response todetected events or interrupts. Computer readable program instructionsconfigured for execution on computing devices may be provided on acomputer readable storage medium, and/or as a digital download (and maybe originally stored in a compressed or installable format that requiresinstallation, decompression or decryption prior to execution) that maythen be stored on a computer readable storage medium. Such computerreadable program instructions may be stored, partially or fully, on amemory device (e.g., a computer readable storage medium) of theexecuting computing device, for execution by the computing device. Thecomputer readable program instructions may execute entirely on a user'scomputer (e.g., the executing computing device), partly on the user'scomputer, as a stand-alone software package, partly on the user'scomputer and partly on a remote computer or entirely on the remotecomputer or server. In the latter scenario, the remote computer may beconnected to the user's computer through any type of network, includinga local area network (LAN) or a wide area network (WAN), or theconnection may be made to an external computer (for example, through theInternet using an Internet Service Provider). In some embodiments,electronic circuitry including, for example, programmable logiccircuitry, field-programmable gate arrays (FPGA), or programmable logicarrays (PLA) may execute the computer readable program instructions byutilizing state information of the computer readable programinstructions to personalize the electronic circuitry, in order toperform aspects of the present disclosure.

Aspects of the present disclosure are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems), and computer program products according to embodiments of thedisclosure. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer readable program instructions.

These computer readable program instructions may be provided to aprocessor of a general purpose computer, special purpose computer, orother programmable data processing apparatus to produce a machine, suchthat the instructions, which execute via the processor of the computeror other programmable data processing apparatus, create means forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks. These computer readable program instructionsmay also be stored in a computer readable storage medium that can directa computer, a programmable data processing apparatus, and/or otherdevices to function in a particular manner, such that the computerreadable storage medium having instructions stored therein comprises anarticle of manufacture including instructions which implement aspects ofthe function/act specified in the flowchart(s) and/or block diagram(s)block or blocks.

The computer readable program instructions may also be loaded onto acomputer, other programmable data processing apparatus, or other deviceto cause a series of operational steps to be performed on the computer,other programmable apparatus or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, other programmable apparatus, or other device implement thefunctions/acts specified in the flowchart and/or block diagram block orblocks. For example, the instructions may initially be carried on amagnetic disk or solid state drive of a remote computer. The remotecomputer may load the instructions and/or modules into its dynamicmemory and send the instructions over a telephone, cable, or opticalline using a modem. A modem local to a server computing system mayreceive the data on the telephone/cable/optical line and use a converterdevice including the appropriate circuitry to place the data on a bus.The bus may carry the data to a memory, from which a processor mayretrieve and execute the instructions. The instructions received by thememory may optionally be stored on a storage device (e.g., a solid statedrive) either before or after execution by the computer processor.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods, and computer program products according to variousembodiments of the present disclosure. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof instructions, which comprises one or more executable instructions forimplementing the specified logical function(s). In some alternativeimplementations, the functions noted in the blocks may occur out of theorder noted in the Figures. For example, two blocks shown in successionmay, in fact, be executed substantially concurrently, or the blocks maysometimes be executed in the reverse order, depending upon thefunctionality involved. In addition, certain blocks may be omitted insome implementations. The methods and processes described herein arealso not limited to any particular sequence, and the blocks or statesrelating thereto can be performed in other sequences that areappropriate.

It will also be noted that each block of the block diagrams and/orflowchart illustration, and combinations of blocks in the block diagramsand/or flowchart illustration, can be implemented by special purposehardware-based systems that perform the specified functions or acts orcarry out combinations of special purpose hardware and computerinstructions. For example, any of the processes, methods, algorithms,elements, blocks, applications, or other functionality (or portions offunctionality) described in the preceding sections may be embodied in,and/or fully or partially automated via, electronic hardware suchapplication-specific processors (e.g., application-specific integratedcircuits (ASICs)), programmable processors (e.g., field programmablegate arrays (FPGAs)), application-specific circuitry, and/or the like(any of which may also combine custom hard-wired logic, logic circuits,ASICs, FPGAs, etc. with custom programming/execution of softwareinstructions to accomplish the techniques).

Any of the above-mentioned processors, and/or devices incorporating anyof the above-mentioned processors, may be referred to herein as, forexample, “computers,” “computer devices,” “computing devices,” “hardwarecomputing devices,” “hardware processors,” “processing units,” and/orthe like. Computing devices of the above-embodiments may generally (butnot necessarily) be controlled and/or coordinated by operating systemsoftware, such as Mac OS, iOS, Android, Chrome OS, Windows OS (e.g.,Windows XP, Windows Vista, Windows 7, Windows 8, Windows 10, WindowsServer, etc.), Windows CE, Unix, Linux, SunOS, Solaris, Blackberry OS,VxWorks, or other suitable operating systems. In other embodiments, thecomputing devices may be controlled by a proprietary operating system.Conventional operating systems control and schedule computer processesfor execution, perform memory management, provide file system,networking, I/O services, and provide a user interface functionality,such as a graphical user interface (“GUI”), among other things.

For example, FIG. 7 is a block diagram that illustrates a computersystem 700 upon which various embodiments may be implemented. Computersystem 700 includes a bus 702 or other communication mechanism forcommunicating information, and a hardware processor 704, or multipleprocessors 704, coupled with bus 702 for processing information.Hardware processor(s) 704 may be, for example, one or more generalpurpose microprocessors.

Computer system 700 also includes a main memory 706, such as a randomaccess memory (RAM), cache and/or other dynamic storage devices, coupledto bus 702 for storing information and instructions to be executed byprocessor 704. Main memory 706 also may be used for storing temporaryvariables or other intermediate information during execution ofinstructions to be executed by processor 704. Such instructions, whenstored in storage media accessible to processor 704, render computersystem 700 into a special-purpose machine that is customized to performthe operations specified in the instructions.

Computer system 700 further includes a read only memory (ROM) 708 orother static storage device coupled to bus 702 for storing staticinformation and instructions for processor 704. A storage device 710,such as a magnetic disk, optical disk, solid state drive, USB thumbdrive (flash drive), etc., is provided and coupled to bus 702 forstoring information and instructions.

Computer system 700 may be coupled via bus 702 to a display 712, such asa cathode ray tube (CRT) or LCD display (or touchscreen), for displayinginformation to a computer user. An input device 714, includingalphanumeric and other keys, is coupled to bus 702 for communicatinginformation and command selections to processor 704. Another type ofuser input device is cursor control 716, such as a mouse, trackball,trackpad, or cursor direction keys for communicating directioninformation and command selections to processor 704 and for controllingcursor movement on display 712. This input device typically has twodegrees of freedom in two axes, a first axis (e.g., x) and a second axis(e.g., y), that allows the device to specify positions in a plane. Insome embodiments, the same direction information and command selectionsas cursor control may be implemented via receiving touches on atouchscreen without a cursor.

Computing system 700 may include a user interface module to implement aGUI that may be stored in a mass storage device as computer executableprogram instructions that are executed by the computing device(s).Computer system 700 may further, as described below, implement thetechniques described herein using customized hard-wired logic, one ormore ASICs or FPGAs, firmware and/or program logic which in combinationwith the computer system causes or programs computer system 700 to be aspecial-purpose machine. According to one embodiment, the techniquesherein are performed by computer system 700 in response to processor(s)704 executing one or more sequences of one or more computer readableprogram instructions contained in main memory 706. Such instructions maybe read into main memory 706 from another storage medium, such asstorage device 710. Execution of the sequences of instructions containedin main memory 706 causes processor(s) 704 to perform the process stepsdescribed herein. In alternative embodiments, hard-wired circuitry maybe used in place of or in combination with software instructions.

Various forms of computer readable storage media may be involved incarrying one or more sequences of one or more computer readable programinstructions to processor 704 for execution. For example, theinstructions may initially be carried on a magnetic disk or solid statedrive of a remote computer. The remote computer can load theinstructions into its dynamic memory and send the instructions over atelephone line using a modem. A modem local to computer system 700 canreceive the data on the telephone line and use an infra-red transmitterto convert the data to an infra-red signal. An infra-red detector canreceive the data carried in the infra-red signal and appropriatecircuitry can place the data on bus 702. Bus 702 carries the data tomain memory 706, from which processor 704 retrieves and executes theinstructions. The instructions received by main memory 706 mayoptionally be stored on storage device 710 either before or afterexecution by processor 704.

Computer system 700 also includes a communication interface 718 coupledto bus 702. Communication interface 718 provides a two-way datacommunication coupling to a network link 720 that is connected to alocal network 722. For example, communication interface 718 may be anintegrated services digital network (ISDN) card, cable modem, satellitemodem, or a modem to provide a data communication connection to acorresponding type of telephone line. As another example, communicationinterface 718 may be a local area network (LAN) card to provide a datacommunication connection to a compatible LAN (or WAN component tocommunicated with a WAN). Wireless links may also be implemented. In anysuch implementation, communication interface 718 sends and receiveselectrical, electromagnetic or optical signals that carry digital datastreams representing various types of information.

Network link 720 typically provides data communication through one ormore networks to other data devices. For example, network link 720 mayprovide a connection through local network 722 to a host computer 724 orto data equipment operated by an Internet Service Provider (ISP) 726.ISP 726 in turn provides data communication services through the worldwide packet data communication network now commonly referred to as the“Internet” 728. Local network 722 and Internet 728 both use electrical,electromagnetic or optical signals that carry digital data streams. Thesignals through the various networks and the signals on network link7210 and through communication interface 718, which carry the digitaldata to and from computer system 700, are example forms of transmissionmedia.

Computer system 700 can send messages and receive data, includingprogram code, through the network(s), network link 720 and communicationinterface 718. In the Internet example, a server 730 might transmit arequested code for an application program through Internet 728, ISP 726,local network 722 and communication interface 718.

The received code may be executed by processor 704 as it is received,and/or stored in storage device 710 or other non-volatile storage forlater execution.

As described above, in various embodiments certain functionality may beaccessible by a user through a web-based viewer (such as a web browser),or other suitable software program). In such implementations, the userinterface may be generated by a server computing system and transmittedto a web browser of the user (e.g., running on the user's computingsystem). Alternatively, data (e.g., user interface data) necessary forgenerating the user interface may be provided by the server computingsystem to the browser, where the user interface may be generated (e.g.,the user interface data may be executed by a browser accessing a webservice and may be configured to render the user interfaces based on theuser interface data). The user may then interact with the user interfacethrough the web-browser. User interfaces of certain implementations maybe accessible through one or more dedicated software applications. Incertain embodiments, one or more of the computing devices and/or systemsof the disclosure may include mobile computing devices, and userinterfaces may be accessible through such mobile computing devices (forexample, smartphones and/or tablets).

Many variations and modifications may be made to the above-describedembodiments, the elements of which are to be understood as being amongother acceptable examples. All such modifications and variations areintended to be included herein within the scope of this disclosure. Theforegoing description details certain embodiments. It will beappreciated, however, that no matter how detailed the foregoing appearsin text, the systems and methods can be practiced in many ways. As isalso stated above, it should be noted that the use of particularterminology when describing certain features or aspects of the systemsand methods should not be taken to imply that the terminology is beingre-defined herein to be restricted to including any specificcharacteristics of the features or aspects of the systems and methodswith which that terminology is associated.

Conditional language, such as, among others, “can,” “could,” “might,” or“may,” unless specifically stated otherwise, or otherwise understoodwithin the context as used, is generally intended to convey that certainembodiments include, while other embodiments do not include, certainfeatures, elements, and/or steps. Thus, such conditional language is notgenerally intended to imply that features, elements and/or steps are inany way required for one or more embodiments or that one or moreembodiments necessarily include logic for deciding, with or without userinput or prompting, whether these features, elements and/or steps areincluded or are to be performed in any particular embodiment.

The term “substantially” when used in conjunction with the term“real-time” forms a phrase that will be readily understood by a personof ordinary skill in the art. For example, it is readily understood thatsuch language will include speeds in which no or little delay or waitingis discernible, or where such delay is sufficiently short so as not tobe disruptive, irritating, or otherwise vexing to user.

Conjunctive language such as the phrase “at least one of X, Y, and Z,”or “at least one of X, Y, or Z,” unless specifically stated otherwise,is to be understood with the context as used in general to convey thatan item, term, etc. may be either X, Y, or Z, or a combination thereof.For example, the term “or” is used in its inclusive sense (and not inits exclusive sense) so that when used, for example, to connect a listof elements, the term “or” means one, some, or all of the elements inthe list. Thus, such conjunctive language is not generally intended toimply that certain embodiments require at least one of X, at least oneof Y, and at least one of Z to each be present.

The term “a” as used herein should be given an inclusive rather thanexclusive interpretation. For example, unless specifically noted, theterm “a” should not be understood to mean “exactly one” or “one and onlyone”; instead, the term “a” means “one or more” or “at least one,”whether used in the claims or elsewhere in the specification andregardless of uses of quantifiers such as “at least one,” “one or more,”or “a plurality” elsewhere in the claims or specification.

The term “comprising” as used herein should be given an inclusive ratherthan exclusive interpretation. For example, a general purpose computercomprising one or more processors should not be interpreted as excludingother computer components, and may possibly include such components asmemory, input/output devices, and/or network interfaces, among others.

While the above detailed description has shown, described, and pointedout novel features as applied to various embodiments, it may beunderstood that various omissions, substitutions, and changes in theform and details of the devices or processes illustrated may be madewithout departing from the spirit of the disclosure. As may berecognized, certain embodiments of the inventions described herein maybe embodied within a form that does not provide all of the features andbenefits set forth herein, as some features may be used or practicedseparately from others. The scope of certain inventions disclosed hereinis indicated by the appended claims rather than by the foregoingdescription. All changes which come within the meaning and range ofequivalency of the claims are to be embraced within their scope

What is claimed is:
 1. A method comprising: by a system of one or morecomputers, accessing information specifying associations betweensegments associated with viewers and content items, each segmentindicating one or more common features of viewers; and generating aninteractive user interface for presentation via a user device, theinteractive user interface enabling creation of a customized viewingaudience, and wherein the interactive user interface: receives userinput indicating features associated with the customized viewingaudience, wherein the user input triggers identification, by the system,of a plurality of segments based on the associations, and wherein thesegments are responsive to the features; and presents summaryinformation derived from a combination of at least a subset of thesegments to form the customized viewing audience.
 2. The method of claim1, wherein the segments are combined using one or more Booleanexpressions.
 3. The method of claim 1, wherein the subset of thesegments include one or more segments responsive to the user input andone or more other segments determined to be related to the one or moresegments.
 4. The method of claim 1, wherein the indicated features areassigned respective importances, and wherein the interactive userinterface: presents information identifying the segments, wherein thesegments are ordered based on the importances.
 5. The method of claim 1,wherein the graphical user interface is configured to receiveinformation associated with content and present segments responsive tothe information.
 6. The method of claim 1, wherein the presentedsegments comprise features associated with the segments.
 7. The methodof claim 1, wherein the summary information comprises ratinginformation, wherein the interactive user interface presents one or moregraphical depictions of the rating information, and wherein a particulargraphical depiction comprises a chart illustrating rating informationassociated with a multitude of content items or content providers. 8.The method of claim 1, wherein the summary information comprises reachinformation associated with different content providers.
 9. A systemcomprising one or more processors and non-transitory computer storagemedia storing instructions that when executed by the one or moreprocessors, cause the processors to: access information specifyingassociations between segments associated with viewers and content items,each segment indicating one or more common features of viewers; andgenerate an interactive user interface for presentation via a userdevice, the interactive user interface enabling creation of a customizedviewing audience, and wherein the interactive user interface: receivesuser input indicating features associated with the customized viewingaudience, wherein the user input triggers identification, by the system,of a plurality of segments based on the associations, and wherein thesegments are responsive to the features; and presents summaryinformation derived from a combination of at least a subset of thesegments to form the customized viewing audience.
 10. The system ofclaim 9, wherein the segments are combined using one or more Booleanexpressions.
 11. The system of claim 9, wherein the subset of thesegments include one or more segments responsive to the user input andone or more other segments determined to be related to the one or moresegments.
 12. The system of claim 9, wherein the indicated features areassigned respective importances, and wherein the interactive userinterface: presents information identifying the segments, wherein thesegments are ordered based on the importances.
 13. The system of claim9, wherein the graphical user interface is configured to receiveinformation associated with content and present segments responsive tothe information.
 14. The system of claim 9, wherein the presentedsegments comprise features associated with the segments.
 15. The systemof claim 9, wherein the summary information comprises ratinginformation, wherein the interactive user interface presents one or moregraphical depictions of the rating information, and wherein a particulargraphical depiction comprises a chart illustrating rating informationassociated with a multitude of content items or content providers. 16.The system of claim 9, wherein the summary information comprises reachinformation associated with different content providers. 17.Non-transitory computer storage media storing instructions that whenexecuted by a system of one or more computers, cause the system to:access information specifying associations between segments associatedwith viewers and content items, each segment indicating one or morecommon features of viewers; and generate an interactive user interfacefor presentation via a user device, the interactive user interfaceenabling creation of a customized viewing audience, and wherein theinteractive user interface: receives user input indicating featuresassociated with the customized viewing audience, wherein the user inputtriggers identification, by the system, of a plurality of segments basedon the associations, and wherein the segments are responsive to thefeatures; and presents summary information derived from a combination ofat least a subset of the segments to form the customized viewingaudience.
 18. The computer storage media of claim 17, wherein thesegments are combined using one or more Boolean expressions.
 19. Thecomputer storage media of claim 17, wherein the subset of the segmentsinclude one or more segments responsive to the user input and one ormore other segments determined to be related to the one or moresegments.
 20. The computer storage media of claim 17, wherein thesummary information comprises rating information, wherein theinteractive user interface presents one or more graphical depictions ofthe rating information, and wherein a particular graphical depictioncomprises a chart illustrating rating information associated with amultitude of content items or content provider, or wherein the summaryinformation comprises reach information associated with differentcontent providers.